A typical task assignment system assigns a finite number of tasks to a finite number of workers (“agents”) over a period of time. One example of a task assignment system is a contact center (e.g., a call center). In a call center, a finite number of agents are available during a given shift or other period of time, and a finite number of callers call into the call center during the shift. Each caller, with various needs and reasons for calling, represents a task assigned to one of the call center agents.
A typical task assignment strategy determines which tasks are assigned to which agents. Typically, a task assignment strategy is derived from insights that certain types of agents perform better with certain types of tasks, and these agents are assigned specific tasks based on these insights. In the example of a call center, the insight may be that agents skilled at sales should be preferentially assigned to sales queues of callers seeking to make a purchase, while agents skilled at technical support should be preferentially assigned to technical support queues of callers seeking a solution to a technical problem.
Although typical task assignment strategies may be effective at improving the performance of typical task assignment systems in some instances, in other instances they may have no substantial impact on performance at best or degrade performance at worst. Typically, instances under which typical task assignment strategies may be ineffective are those that do not account for the comparative advantage of agents assigned to different types of tasks.
In view of the foregoing, it may be understood that there may be a need for a system that enables estimation of the expected performance of different task assignment strategies for the assignment of a finite number of tasks to a finite number of agents over a period of time in a task assignment system.